package org.osiris.persistence.controllers;

import java.util.List;

import javax.persistence.EntityManager;

import org.osiris.persistence.Relacionrequisito;
import org.osiris.persistence.RelacionrequisitoPK;
import org.osiris.persistence.controllers.exceptions.NonexistentEntityException;
import org.osiris.persistence.controllers.exceptions.PreexistingEntityException;

public interface RelacionRequisitoInterface {

	public abstract EntityManager getEntityManager();

	public abstract void create(Relacionrequisito relacionrequisito)
			throws PreexistingEntityException, Exception;

	public abstract void edit(Relacionrequisito relacionrequisito)
			throws NonexistentEntityException, Exception;

	public abstract void destroy(RelacionrequisitoPK id)
			throws NonexistentEntityException;

	public abstract List<Relacionrequisito> findRelacionrequisitoEntities();

	public abstract List<Relacionrequisito> findRelacionrequisitoEntities(
			int maxResults, int firstResult);

	public abstract Relacionrequisito findRelacionrequisito(
			RelacionrequisitoPK id);

	public List<Relacionrequisito> findDependencias(Long idRequisito);
	public abstract int getRelacionrequisitoCount();
	public Relacionrequisito findDependencia(Long idRequisito,Long destino);

}